import sst

# 创建 Prospero Trace CPU
cpu = sst.Component("trace_cpu", "prospero.prosperoCPU")
cpu.addParams({
    "tracefile": "prospero.trace",  # Trace 文件路径
    "clock": "2GHz",
    "verbose": 1,                   # 打印调试信息
    "cache_line_size": "64",        # 缓存行大小（字节）
})

# 创建内存子系统
memory = sst.Component("memory", "memHierarchy.MemController")
memory.addParams({
    "backend": "memHierarchy.simpleMem",
    "backend.access_time": "10ns",  # 内存访问延迟
    "backend.mem_size": "1GiB",     # 内存容量
})

# 连接 CPU 和内存
link = sst.Link("cpu_mem_link")
link.connect(
    (cpu, "mem_link", "10ns"),      # CPU 内存接口
    (memory, "direct_link", "10ns") # 内存控制器接口
)
